﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SimplexEngine
{
    public enum ResourceType
    {
        NONE,
        IMAGE2D,
        SHADER,
        FONT,
        STATIC_MESH,
        ANIMATION_MESH,
        PARTICLE_SYSTEM
    }

    internal interface IResourceLoader
    {
        /// <summary>
        /// get support file format
        /// </summary>
        /// <returns>list of file extension name</returns>
        List<String> GetSupportFormats();

        /// <summary>
        /// get resource type
        /// </summary>
        /// <returns>resource type</returns>
        ResourceType GetResourceType();

        /// <summary>
        /// load resource
        /// </summary>
        /// <param name="path">resource path</param>
        /// <returns>success return resource, null for fail</returns>
        Object LoadResource(String path);
    }
}
